package com.twetec.cms.service.file;

import com.baomidou.mybatisplus.extension.service.IService;
import com.twetec.cms.model.po.website.SitePO;
import com.twetec.cms.model.vo.website.HtmlTemplateTreeListVO;
import com.twetec.cms.model.vo.website.TemplateTreeListVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;


/**
 * 本地文件处理服务
 */
public interface LocalFileService {

    /**
     * 获取模板下的文件树
     */
    public TemplateTreeListVO getFileTreeListByTemplateId(Long templateId);

    /**
     * 获取模板下的模板文件树
     */
    public HtmlTemplateTreeListVO getHtmlFileTreeListByTemplateId(Long templateId);

    /**
     * 创建模板目录
     */
    boolean createTemplateDir(String path, String dirName);

    /**
     * 删除目录
     */
    boolean deleteTemplateDir(String pathName);

    /**
     * 创建模板文件
     */
    boolean createTemplateFile(String path, String fileName);

    /**
     * 删除文件
     */
    boolean deleteTemplateFile(String pathName);


    /**
     * 编辑文件内容
     */
    boolean setFileContent(String path, String content) throws IOException;

    /**
     * 获取文件内容
     */
    StringBuffer  getFileContent(String path) throws IOException;

    /**
     * 下载文件
     */
    File downloadFileContent(String path, HttpServletResponse response) throws IOException;

    /**
     * 上传文件
     */
    boolean  uploadFileContent(String path, MultipartFile file) throws IOException;
}
